Stringbeans es un sistema portal compatible con el estandar JSR-168 que permite añadir portlets que se encuentran en otros contextos del servidor de aplicaciones. Para ello es requisito imprescindible que tanto el propio contexto de Stringbeans, como el que contiene los portlets, sean accesibles declarándolos en ./conf/server.xml como crossContext="true" . Por ejemplo: server.xml
Esto es necesario para que la sesión sea compartida entre los contextos de Stringbeans y de nuestros portlets. Concretamente es requisito imprescindible para la integración con portlets desarrollados con OpenXava y que funcionen correctamente los servlets de generación de reports PDF y CSV, ya que de otra forma no serían capaces de obtener los valores del tab y se produciría una excepción.
Se deben mover los siguientes .jar de ./stringbeans/WEB-INF/lib a un repositorio común de librerías compartidas del servidor J2EE, en el caso de Tomcat a ./common/lib
portlet.jar
sb-containet.jar
sb-share-common.jar
Se deben añadir las siguiente librerías (de Stringbeans) al contexto de nuestra aplicación:
sb-portal.jar
sb-common.jar
sb-portlet-common.jar (desde la versión 3.2)
jaxb-api.jar
jaxb-impl.jar
jaxb-libs.jar
namespace.jar
relaxngDatatype.jar
jax-qname.jar
xsdlib.jar
Igualmente se debe añadir el fichero portlet.tld a un lugar que posteriormente referenciaremos en web.xml, por ejemplo en ./WEB-INF
En el fichero web.xml del contexto de nuestra aplicación, se deben añadir las siguientes entradas:
Es importante indicar que éste servlet se cargue en el arranque (1)
ya que si no se carga antes que Stringbeans se producirá un error.
Finalmante en Stringbeans, entramos como administrador a la sección de configuración del portal y de ahí a Portlet App Context. Como "Context Path" ponemos nuestro contexto (ej: /misportlets) y como "Servlet URI" indicamos "/portlet_servlet"
Si hemos seguido correctamente todos los pasos, Stringbeans indicará que el contexto ha sido añadido correctamente y habrá añadido nuestra lista de portlets a su fichero interno de portlets, de tal manera que desde "Portlet Admin" los veremos listados y se podrá hacer uso de ellos.
*Nota: Si queremos clasificar los nuestros portlets, manualmente debemos editar el fichero portlet.xml y en cada portlet añadir:
<portlet-info><title>Titulo del portlet</title><keywords>Categoria</keywords></portlet-info>
De esta forma, posteriormente en la selección de portlets que queremos agregar a un layout, se mostrarán ordenados por categorías. Referencias
Integración de portlets de OpenXava en Stringbeans Portal
Aquí tenemos algunos pantallazos de una aplicación OpenXava en el- Ejemplo de modo lista
- Ejemplo de modo detalle
- Otro ejemplo de modo detalle
Stringbeans es un sistema portal compatible con el estandar JSR-168 que permite añadir portlets que se encuentran en otros contextos del servidor de aplicaciones. Para ello es requisito imprescindible que tanto el propio contexto de Stringbeans, como el que contiene los portlets, sean accesibles declarándolos en ./conf/server.xml como crossContext="true" . Por ejemplo:server.xml
Vamos a aprovechar que estamos editando el fichero server.xml para incluir emptySessionPath="true" en la sección del conector. Ejemplo:
Esto es necesario para que la sesión sea compartida entre los contextos de Stringbeans y de nuestros portlets. Concretamente es requisito imprescindible para la integración con portlets desarrollados con OpenXava y que funcionen correctamente los servlets de generación de reports PDF y CSV, ya que de otra forma no serían capaces de obtener los valores del tab y se produciría una excepción.
Se deben mover los siguientes .jar de ./stringbeans/WEB-INF/lib a un repositorio común de librerías compartidas del servidor J2EE, en el caso de Tomcat a ./common/lib
- portlet.jar
- sb-containet.jar
- sb-share-common.jar
Se deben añadir las siguiente librerías (de Stringbeans) al contexto de nuestra aplicación:- sb-portal.jar
- sb-common.jar
- sb-portlet-common.jar (desde la versión 3.2)
- jaxb-api.jar
- jaxb-impl.jar
- jaxb-libs.jar
- namespace.jar
- relaxngDatatype.jar
- jax-qname.jar
- xsdlib.jar
Igualmente se debe añadir el fichero portlet.tld a un lugar que posteriormente referenciaremos en web.xml, por ejemplo en ./WEB-INFEn el fichero web.xml del contexto de nuestra aplicación, se deben añadir las siguientes entradas:
Es importante indicar que éste servlet se cargue en el arranque (1)
ya que si no se carga antes que Stringbeans se producirá un error.
Finalmante en Stringbeans, entramos como administrador a la sección de configuración del portal y de ahí a Portlet App Context. Como "Context Path" ponemos nuestro contexto (ej: /misportlets) y como "Servlet URI" indicamos "/portlet_servlet"
Si hemos seguido correctamente todos los pasos, Stringbeans indicará que el contexto ha sido añadido correctamente y habrá añadido nuestra lista de portlets a su fichero interno de portlets, de tal manera que desde "Portlet Admin" los veremos listados y se podrá hacer uso de ellos.
*Nota: Si queremos clasificar los nuestros portlets, manualmente debemos editar el fichero portlet.xml y en cada portlet añadir:
De esta forma, posteriormente en la selección de portlets que queremos agregar a un layout, se mostrarán ordenados por categorías.
Referencias